package com.jic.point.mapper;
import com.jic.point.model.entity.ConfActivityRule;
import com.jic.point.model.entity.ConfActivityRuleApply;
import com.jic.point.model.entity.ConfActivityRuleDetail;
import com.jic.point.rest.request.SignData;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
public interface ConfActivityRuleMapper {
	/**
	 * CONF_ACTIVITY_RULE插入数据
	 * @param confActivityRule 入参实体类
	 */
	int insert (ConfActivityRule confActivityRule);

	/**
	 * CONF_ACTIVITY_RULE插入数据
	 * @param confActivityRule 入参实体类
	 */
	int insertSelective (ConfActivityRule confActivityRule);

	/**
	 * CONF_ACTIVITY_RULE根据表对象数据修改数据
	 * @param confActivityRule 入参实体类
	 */
	int updateByPrimaryKey (ConfActivityRule confActivityRule);

    /**
     * CONF_ACTIVITY_RULE根据表对象数据修改数据
     * @param confActivityRule 入参实体类
     */
    int updateByPrimaryKeyApply (ConfActivityRule confActivityRule);

    /**
	 * CONF_ACTIVITY_RULE根据表对象数据修改数据
	 * @param confActivityRule 入参实体类
	 */
	int updateByPrimaryKeySelective (ConfActivityRule confActivityRule);

	/**
	 * CONF_ACTIVITY_RULE根据id删除数据
	 * @param confActivityRule 入参实体类
	 */
	int deleteByPrimaryKey (ConfActivityRule confActivityRule);

	/**
	 * CONF_ACTIVITY_RULE根据主键查询数据
	 * @param confActivityRule 入参实体类
	 */
	ConfActivityRule selectByPrimaryKey (ConfActivityRule confActivityRule);

	/**
	 * CONF_ACTIVITY_RULE根据主键查询数据
	 * @param confActivityRule 入参实体类
	 */
	List<ConfActivityRule> listPageBySelective (ConfActivityRule confActivityRule);

	/**
	 * CONF_ACTIVITY_RULE查询数据
	 * @param confActivityRule 入参实体类
	 */
	List<ConfActivityRule>  selectBySelective (ConfActivityRule confActivityRule);

    int insertActiveRuleLog(ConfActivityRule confActivityRule);

    List<ConfActivityRule> selConfActivityRuleByCode(SignData signData);

    BigDecimal queryAvailablePoint(@Param("code") String busiCode);

    int deleteFlagActivityRule(ConfActivityRule confActivityRule);

    int updateByCode(ConfActivityRule param);

    List<ConfActivityRuleDetail> selDetailList(ConfActivityRuleApply result);

    List<ConfActivityRule> selectavAilablePoint();

    List<ConfActivityRule> listPageBySelectivefreeze(List<Integer> sts);

    int ActivityPointAdd(ConfActivityRule confActivityRule);
}
